// ConsoleApplication28.cpp: definisce il punto di ingresso dell'applicazione console.
/*
Scrivere un programma che, permetta la gestione delle temperature del mese di gennaio di 20 città
Matrice 20*31
Si visualizza in ordine le città che hanno avuto la temperatura media mensile più alta
*/

#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <time.h>

#define GIORNI 31
#define CITTA 20
#define CITTALEN 12
#define TEMPMIN -12
#define TEMP 30

using namespace std;

typedef struct {
	char nomecitta[CITTA][CITTALEN + 1];
	int temperatura[CITTA][GIORNI];
	float media[CITTA];
}TEMPERATURA;

void inserisci_nome(TEMPERATURA *gennaio);
void inserisci_temperatura(TEMPERATURA *gennaio);
void calcola_media(TEMPERATURA *gennaio);
void visualizza_temperatura(TEMPERATURA gennaio);

int main()
{
	srand(time(NULL));
	TEMPERATURA gennaio = {};
	inserisci_nome(&gennaio);
	inserisci_temperatura(&gennaio);
	calcola_media(&gennaio);
	visualizza_temperatura(gennaio);
	cin.get();
	cin.get();
    return 0;
}

void inserisci_nome(TEMPERATURA *gennaio)
{
	for (int j = 0; j < CITTA; j++)
	{
		printf("Inserisci nome citta no. %d\n", j + 1);
		scanf_s("%s", gennaio->nomecitta[j], CITTALEN + 1);
	}
}

void inserisci_temperatura(TEMPERATURA *gennaio)
{
	for (int j = 0; j < CITTA; j++)
	{	
		printf("Inserisci temperatura citta no. %d\n", j + 1);
		for (int i = 0; i < GIORNI; i++)
		{
			printf("Giorno no. %d\n", i+1);
			scanf_s("%d", &gennaio->temperatura[j][i], sizeof(int));
		}
	}
}

void calcola_media(TEMPERATURA *gennaio)
{
	for (int j = 0; j < CITTA; j++)
	{
		for (int i = 0; i < GIORNI; i++)
		{
			gennaio->media[j] = (float) gennaio->media[j] + gennaio->temperatura[j][i];
		}
		gennaio->media[j] = gennaio->media[j] / GIORNI;
	}
}

void visualizza_temperatura(TEMPERATURA gennaio)
{
	for (int j = 0; j < CITTA; j++)
	{
		printf("Città: %s\n", gennaio.nomecitta[j]);
		printf("Temperature:\n");
		for (int i = 0; i < GIORNI; i++)
		{
			printf("Giorno %d:\t", i+1);
			printf("%d\n", gennaio.temperatura[j][i]);
		}
		printf("\n");
	}
}